package com.yh.vo;

import com.yh.entity.*;
import com.yh.utils.Constants;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;

@Getter
@Setter
@ToString
/**
 * 记录影院每个场次的详细信息
 *
 * @author yuhuan
 * @date 2022/01/13
 * */
public class ScheduleVO implements Serializable {
    /**
     * 当前片场的状态：结束，进行中，未开始。默认是未开始
     */
    private String scheduleState;

    /**
     * 所属放映厅
     */
    private Integer hallId;
    /**
     * 放映的电影编号
     */
    private Integer movieId;
    /**
     * 所属语言版本
     */
    private Integer versionId;
    /**
     * 电影放映时间
     */
    private Date scheduleStartTime;
    /**
     * 字符串格式的电影放映时间
     */
    private String dateTime;
    /**
     * 售价
     */
    private Double schedulePrice;
    /**
     * 剩余座位数
     */
    private Integer scheduleRemain;

    /**
     * 放映的影片名称
     */
    private String movieCnName;
    /**
     * 放映日期
     */
    private String startDate;
    /**
     * 放映时间
     */
    private String startTime;
    /**
     * 散场时间
     */
    private String endTime;
    /**
     * 影片的时长
     */
    private Integer movieDuration;

    private Schedule schedule;
    /**
     * 归属的影厅信息
     */
    private Hall hall;
    /**
     * 归属的影院信息
     */
    private Cinema cinema;
    /**
     * 影厅类型
     */
    private HallType hallType;
    /**
     * 影片的语言版本
     */
    private LanguageVersion version;
    /**
     * 记录该场座位的售出情况
     */
    private HallVO seats;

    public ScheduleVO() {
        this.scheduleState = Constants.ScheduleData.NOT_STARTED;
    }
}
